/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.facade;

import info.peigen.hotpot.business.customer.facade.order.query.CustomerPageOrder;
import info.peigen.hotpot.business.customer.facade.order.query.CustomerQueryOrder;
import info.peigen.hotpot.business.customer.facade.order.query.QueryCustomerSalesOrder;
import info.peigen.hotpot.business.customer.facade.order.query.QuerySalesCustomersOrder;
import info.peigen.hotpot.business.customer.facade.result.CustomerAccountsResult;
import info.peigen.hotpot.business.customer.facade.result.query.CustomerPageResult;
import info.peigen.hotpot.business.customer.facade.result.query.CustomerQueryResult;
import info.peigen.hotpot.business.customer.facade.result.query.QueryCustomerSalesResult;
import info.peigen.hotpot.business.customer.facade.result.query.QuerySalesCustomersResult;

/**
 * <b>(CustomerQueryServiceFacade)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2022/5/26
 */
public interface CustomerQueryServiceFacade {
    /**
     * 查询销售对应的客户
     *
     * @param order QuerySalesCustomersOrder
     *
     * @return QuerySalesCustomersResult
     */
    QuerySalesCustomersResult querySalesCustomers(QuerySalesCustomersOrder order);

    /**
     * 查询客户销售经理
     *
     * @param order QueryCustomerSalesOrder
     *
     * @return QueryCustomerSalesResult
     */
    QueryCustomerSalesResult queryCustomerSales(QueryCustomerSalesOrder order);

    /**
     * 查询客户账户信息
     *
     * @param order CustomerQueryOrder
     *
     * @return CustomerAccountsResult
     */
    CustomerAccountsResult queryCustomerAccounts(CustomerQueryOrder order);

    /**
     * 客户查询
     *
     * @param order CustomerQueryOrder
     *
     * @return CustomerQueryResult
     */
    CustomerQueryResult queryCustomerInfo(CustomerQueryOrder order);

    /**
     * 客户分页查询
     *
     * @param order CustomerPageOrder
     *
     * @return CustomerPageResult
     */
    CustomerPageResult queryCustomerPage(CustomerPageOrder order);

}
